package org.jaaksi.plugin

import org.gradle.api.Plugin
import org.gradle.api.Project

class TestPlugin implements Plugin<Project> {

  @Override
  void apply(Project project) {
    // 通常情况下，插件使用方需要传入一些配置参数
    // org.gradle.api.Project 有一个 ExtensionContainer getExtensions() 方法，可以用来实现这个传递。
    // create 方法的第一个参数就是你在 build.gradle 文件中的进行参数配置的 dsl 的名字，必须一致；
    // 第二个参数，就是参数的类型
    println 'this is a plugin.'

    project.extensions.create('config', PluginConfig)

    project.task('testPlugin') {
      doLast {
        println 'hello testPlugin.'
        println "config params is: version=${project['config'].version},isNew=${project['config'].isNew}"
      }
    }
  }
}